/*! \file Contains functions for the main interaction in the system for CMD form */

/**     \brief Main interaction loop of the framework with the user 
*/
void MainInteractive();

/**     \brief Main security to ensure noone misenters the system. Limits the number of false tries to enter the system. If new user will take him/her to 
*	registration form. If new user will set up necessary flags
*       \return True if user can use the system, fails which will result in exiting the program if otherwise
*/
bool IsUser();

/**     \brief Will be called if the manager requests to setup a project
*/
void ManagerSetupProject();

/**     \brief Will be called if a user requests to work on a project to add TestCriterion
*/
void UserWork();

/**     \brief Will be called if a user requests to generate an output test rule for a project
*/
void UserGenerateTest();

/**     \brief Check if the path of project is available
*       \param ProjDirectoryPath
*       \return True iff available, else False
*/
bool IsProjPathValid(std::string ProjDirectoryPath);
